package site.fantasycube.blog.util;

import site.fantasycube.blog.util.exception.BlogException;

import java.util.List;

/**
 * @author 幻&乐
 * @Date 2021/12/26
 * 描述 断言工具
 */
public class ParamUtils {

    /**
     *描述： 不能为空校验
     * @author 幻&乐
     * @Date 2021/12/26 22:39
     * @param obj 任意对象
     **/
    public static void nonNull(Object obj , String message){
        if (obj == null){
            throw new BlogException(message);
        }else if (obj instanceof String && obj == ""){
            throw new BlogException(message);
        }
    }

    /**
     *描述： 必须为空校验
     * @author 幻&乐
     * @Date 2021/12/26 22:39
     * @param obj 任意对象
     **/
    public static void isNull(Object obj){
        if (obj != null){
            throw new BlogException("无法接受！不要传值过来！");
        }else if (obj instanceof String && obj != ""){
            throw new BlogException("无法接受！不要传值过来！");
        }
    }

    /**
     *描述： 空值判断
     * @author 幻&乐
     * @Date 2021/12/26 22:43
     * @param  obj 需要判断的值
     * @return Boolean 判断结果
     **/
    public static Boolean paramIsNull(Object obj){
        if (obj == null){
            return true;
        }else if (obj instanceof String && obj == ""){
            return true;
        }else if (obj instanceof List && ((List<?>) obj).size() == 0){
            return true;
        }
        return false;
    }
}
